package com.learn.redis.test;

import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

/**
 * @author DYZ
 * @date 2021/8/25
 */
public class RedisTestKey {

    Jedis jedis;

    @Before
    public void setUp() {
        jedis = new Jedis("192.168.2.23", 6379);
    }

    @Test
    public void ping() throws InterruptedException {
        // 返回当前库中所有的key
        System.out.println(jedis.keys("*"));
        // 支持通配符
        System.out.println(jedis.keys("*name"));
        // 删除成功返回1 删除失败（或者不存在）返回 0
        System.out.println(jedis.del("Don"));
        // 返回给定key的有效时间，如果是-1则表示永远有效
        System.out.println(jedis.ttl("Don"));
        // 指定key的有效时间 时间为秒
        jedis.setex("timekey", 10L, "min");
        Thread.sleep(5000);
        // 输出结果为5
        System.out.println(jedis.ttl("timekey"));
        // 设为1后
        jedis.setex("timekey", 1L, "min");
        // 剩余时间是1
        System.out.println(jedis.ttl("timekey"));
        // 检查key是否存在
        System.out.println(jedis.exists("key"));
        System.out.println(jedis.rename("timekey", "time"));
        // 因为移除，返回为null
        System.out.println(jedis.get("timekey"));
        // 因为将timekey 重命名为time 所以可以取得值 min
        System.out.println(jedis.get("time"));
    }

}
